﻿/**
 * @fileoverview Contiene la declaración de la página principal del proyecto
 * @author Carlos Farias Vidal
 * @version 1.0.0
 * @description fecha 22-08-2011
 * @description Ultimo modificador: Carlos Farias Vidal
 * @description Fecha última modificacion: 22-08-2011
 */
/**
 * Se declara el espacio de nombre para el módulo u objeto
 */
Ext.namespace('MasterPage');

var vhtml = '<table cellpadding="0" cellspacing="0" width="100%">';
vhtml += '<tr>';
vhtml += '</td>';
vhtml += '<td width="20%" align="left">';
vhtml += '<img src="img/Hemaof.png" width="120px" heigth="34px">';
vhtml += '</td>';
vhtml += '<td width="60%">';
vhtml += '&nbsp;';
vhtml += '</td>';
vhtml += '<td width="20%">';
vhtml += '<table width="100%">';
vhtml += '<tr>';
vhtml += '<td width="10">';
vhtml += '<img src="img/icons/botones/usuarioConectado.ico">';
vhtml += '</td>';
vhtml += '<td>';
vhtml += '<p class="cabecera_master">Bienvenido(a): <b>' + p_str_nombre_completo + '</b><p>';
vhtml += '</td>';
vhtml += '</tr>';
vhtml += '<tr>';
vhtml += '<td width="10">';
vhtml += '<img src="img/icons/menus/adminPerfiles.ico">';
vhtml += '</td>';
vhtml += '<td>';
vhtml += '<p class="cabecera_master">Perfil: <b>' + p_str_nombre_perfil + '</b><p>';
vhtml += '</td>';
vhtml += '</tr>';
vhtml += '<tr>';
vhtml += '<td width="10">';
vhtml += '<img src="img/icons/botones/calendario.ico">';
vhtml += '</td>';
vhtml += '<td>';
vhtml += '<p class="cabecera_master">Fecha: <b>' + p_str_fecha + '</b><p>';
vhtml += '</td>';
vhtml += '</tr>';
vhtml += '</table>';
vhtml += '</tr>';
vhtml += '</table>';

MasterPage.cabecera = new Ext.Panel({
    title : '',
    layout : 'fit',    
    html: vhtml,
    height : 90,
    region : 'north',
    header : false,
    collapsed : false, 
    maxHeight : 110,  
    minHeight : 25 
})

MasterPage.menu = new Ext.tree.TreePanel({
    animate : true,
    useArrows : true,
    autoScroll : true,
    containerScroll : false,
    collapsible : true,
    collapsed : false,
    split : true,
    animCollapse : true,
    title : 'Menu',
    width : 220,
    
    minWidth : 120, 
    maxWidth : 270,
    loader: new Ext.tree.TreeLoader({
        dataUrl:'MasterPageAJAX.aspx',        
        baseParams: {
            accion: 'listarMenuPrincipal'
        }

    }),  
    root : new Ext.tree.AsyncTreeNode({
        expanded : true,
        text : 'Menu',
        id:'1'
    }),    
    region : 'west',
    rootVisible : false,
    listeners : {
        click : function(n) {
            if (n.attributes.leaf && n.attributes.id != -1) {
                MasterPage.agregaTab(n.attributes.text, n.attributes.url);
            }
        }
    }
    
});

// MasterPage.menu.getRootNode().expand();

MasterPage.areaTrabajo = new Ext.TabPanel({
    id:'areaTrabajo',
    activeTab : 0,
    tabPosition : 'bottom',
    region : 'center',
    header : false,
    items : [{
        title : 'Home',
        html : ''
    }]
});

/**
 * Panel principal del sitio
 */
MasterPage.panelPrincipal = new Ext.Panel({
    layout : {
        type : 'border'
    },    
    defaults : {
        collapsible : true,
        split : true,         
        bodyStyle : 'padding:5px'
    },
    items : [MasterPage.cabecera, MasterPage.menu,MasterPage.areaTrabajo]
})

/**
 * Se declara el inicio de la pantalla principal
 */
Ext.onReady(function() {
    Ext.QuickTips.init();
    Ext.form.Field.prototype.msgTarget = 'side';

    MasterPage.principal = new Ext.Viewport(MasterPage.panelPrincipal);

    setTimeout(function() {
        Ext.get('loading').remove();
        Ext.get('loading-mask').fadeOut({
            remove : true
        });
    }, 250);
})

MasterPage.agregaTab = function(title, url) {
    if (Ext.getCmp(title) == undefined) {
        MasterPage.areaTrabajo.add({
        title: title.replace(/^\s*|\s*$/g, ""),
        id: title.replace(" ", ""),
            //iconCls : icon,
            html : '<iframe class="panel" frameborder="0" src="' + url + '" height="100%" width="100%"></iframe>',
            closable : true
        }).show();
    } else {
        Ext.getCmp(title).show();
    }
}

